This MDEF is freeware and was made to help with a small problem that A LOT of programmers encounter. How in the hell to keep the System MDEF from making stupid looking pop-up menus when the menu gets to close to the bottom of the screen, it bunches up and sometimes gets scrollbars on both ends. This MDEF intercepts the message 'mPopUpMsg' and sets the hitPoint.h (which is actually the top of the pop-up) high enough so the entire menu is shown on the screen or if the menu is too big for the screen it displays it from the top of the screen.
There is no need to worry about incompatibilities with this MDEF since all is does is really is to call the System MDEF (Which always has an ID of 0)
A Warning about calling the System MDEF...
If you adjust the actual rectangle for the menu and then then call the System MDEF for all the rest of the messages, weird things happen in the menu . (Such as the top scroll arrow is replaced with whatever text is in the top item) I don't know why this is and I didn't really want to waste my time figuring it out.
Anyway I Hope this MDEF solves your problem, like it did mine.